package dreamtwodancetiktokenumsmysql

const (
	DanceComposePropChangeLogChangeTypeAdd     = 1 //增加
	DanceComposePropChangeLogChangeTypeReduced = 2 //减少

	DanceComposePropChangeLogSourceDirectDrawPrize     = 1
	DanceComposePropChangeLogSourceChangeDrawPrize     = 2 //抽奖兑换获得
	DanceComposePropChangeLogSourceAddSplinter         = 3 //补发添加
	DanceComposePropChangeLogSourceCutSplinter         = 4 //补发减少
	DanceComposePropChangeLogSourceGiftPackageActivity = 5 //礼包活动
	DanceComposePropChangeLogSourceSingleWeekRank      = 6 //个人周榜
	DanceComposePropChangeLogSourceCoupleWeekRank      = 7 //CP周榜
	DanceComposePropChangeLogSourcePrizeDrawCPGift     = 8 //抽奖CP赠送
	DanceComposePropChangeLogSourceGiftPackCPGift      = 9 //礼包CP赠送
)

type DanceComposePropChangeLogEnums struct {
}

var DanceComposePropChangeLogEnumsObject DanceComposePropChangeLogEnums

func (e DanceComposePropChangeLogEnums) SourceType() []int {
	return []int{
		DanceComposePropChangeLogSourceDirectDrawPrize,
		DanceComposePropChangeLogSourceChangeDrawPrize,
		DanceComposePropChangeLogSourceAddSplinter,
		DanceComposePropChangeLogSourceCutSplinter,
		DanceComposePropChangeLogSourceGiftPackageActivity,
		DanceComposePropChangeLogSourceSingleWeekRank,
		DanceComposePropChangeLogSourceCoupleWeekRank,
		DanceComposePropChangeLogSourcePrizeDrawCPGift,
		DanceComposePropChangeLogSourceGiftPackCPGift,
	}
}

func (e DanceComposePropChangeLogEnums) SourceMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.SourceType() {
		m[s] = e.SourceString(s)
	}
	return m
}

func (e DanceComposePropChangeLogEnums) SourceString(tag int) string {
	switch tag {
	case DanceComposePropChangeLogSourceDirectDrawPrize:
		return "抽奖直接获得"
	case DanceComposePropChangeLogSourceChangeDrawPrize:
		return "抽奖兑换获得"
	case DanceComposePropChangeLogSourceAddSplinter:
		return "补发添加"
	case DanceComposePropChangeLogSourceCutSplinter:
		return "补发减少"
	case DanceComposePropChangeLogSourceGiftPackageActivity:
		return "礼包活动"
	case DanceComposePropChangeLogSourceSingleWeekRank:
		return "个人周榜"
	case DanceComposePropChangeLogSourceCoupleWeekRank:
		return "CP周榜"
	case DanceComposePropChangeLogSourcePrizeDrawCPGift:
		return "抽奖CP赠送"
	case DanceComposePropChangeLogSourceGiftPackCPGift:
		return "礼包CP赠送"
	default:
		return "其他"
	}
}

func (e DanceComposePropChangeLogEnums) ChangeType() []int {
	return []int{
		DanceComposePropChangeLogChangeTypeAdd,
		DanceComposePropChangeLogChangeTypeReduced,
	}
}

func (e DanceComposePropChangeLogEnums) ChangeTypeMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.ChangeType() {
		m[s] = e.ChangeTypeString(s)
	}
	return m
}

func (e DanceComposePropChangeLogEnums) ChangeTypeString(tag int) string {
	switch tag {
	case DanceComposePropChangeLogChangeTypeAdd:
		return "增加"
	case DanceComposePropChangeLogChangeTypeReduced:
		return "减少"
	default:
		return "其他"
	}
}
